package com.zqxq.lottery.mapper.user;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.zqxq.lottery.entity.bo.user.UserInfoCMSBO;
import com.zqxq.lottery.entity.po.user.UserInfoPO;
import com.zqxq.lottery.entity.vo.user.UserInfoCMSVO;
import com.zqxq.lottery.entity.vo.user.UserInfoVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * @Description ：
 * @Author ： 解风
 * @Date ： 2018/03/13 14:39
 */
@Component(value = "userInfoMapper")
public interface UserInfoMapper extends BaseMapper<UserInfoPO> {

    List<UserInfoCMSVO> queryPageList(Page page,UserInfoCMSBO bo);

    List<UserInfoCMSVO> queryPageList(UserInfoCMSBO bo);

    UserInfoCMSVO getCmsVO(Long userId);
    UserInfoVO getVO(Long userId);

    void updatePayPassord(@Param("userId") Long userId, @Param("payPassword") String payPassword);

    Integer updateUserInfoById(UserInfoPO po);

    @Select("select user_id from user_order where `status` in(2,3,4,5,6,10) group by user_id having count(id)>2")
    List<Long> selectOrderUserList();

    void updateUserInfo(@Param("userId") Long userId, @Param("headAddress") String headAddress, @Param("nickName") String nickName);

    Map<String,Object> getSumProfit(Long userId);

    Map<String,Object> getTask1(Long userId);
    Map<String,Object> getTask2(Long userId);
    Map<String,Object> getTask3(Long userId);
    Map<String,Object> getTask4(Long userId);
    Map<String,Object> getTask5(Long userId);
    Map<String,Object> getTask6(Long userId);
    Map<String,Object> getTask7(Long userId);
    Map<String,Object> getTask8(Long userId);
    Map<String,Object> getTask9(Long userId);
    Map<String,Object> getTask10(Long userId);
    Map<String,Object> getTask11(Long userId);
    Map<String,Object> getTask12(Long userId);
    Map<String,Object> getTask13(Long userId);
    Map<String,Object> getTask14(Long userId);
    Map<String,Object> getTask15(Long userId);
    Map<String,Object> getTask16(Long userId);
    Map<String,Object> getTask17(Long userId);
    Map<String,Object> getTask18(Long userId);
    Map<String,Object> getTask19(Long userId);
    Map<String,Object> getTask20(Long userId);

    Map<String,Object> inviteUsersData(Long userId);

}
